The present invention generally relates to technology for managing a MAC address of a logical network device when a physical network device is shared by multiple virtual computers.
A virtual computer system for operating multiple virtual computers is known. A virtual computer system having a hypervisor, which manages the multiple virtual computers, is known as such a computer system (for example, refer to Japanese Patent Application Laid-open No. 2000-259434).
A method for realizing a technology via which a physical network device is shared by multiple virtual computers by disposing a virtual network device on a virtual computer is known (For example, refer to Japanese Patent Application Laid-open No. 2007-158870).
The characteristic feature of a sharing technology, which provides such a virtual network device, is that the virtual computer itself generally provides a virtual computer-side virtual network device MAC address, which is separate from the MAC address of the physical network device, so as to enable the exact same MAC address to continue to be used on the virtual computer without changing the configuration of the OS (Operating System) and so forth even when the physical network device has been replaced with a different unit due to a malfunction or the like.
A technology, which uses a function by which the virtual computer manages the network device MAC address and allows the virtual computer to be migrated to and run on a physically different computer by copying the configuration data of the virtual computer, which includes the virtual network device MAC address, has also been proposed and is currently being used (For example, refer to Japanese Patent Application Laid-open No. 2010-33404).
However, in a network device sharing technology like that disclosed in Japanese Patent Application Laid-open No. 2007-158870, the enormous throughput of the physical computer CPU (Central Processing Unit) limits the performance of the virtual computer network device, a problem which has become pronounced in line with improvements in physical network device throughput in recent years.
To overcome this problem, technologies, which support the physical network device being shared by multiple virtual computers, can be implemented on the physical network device side. Of these technologies, a virtualization technology called SR-IOV (Single Root Input/Output Virtualization), which places an extremely low load on the CPU, is known (For example, refer to Japanese Translation of PCT Application No. 2011-517497).
The following processing is generally performed in a case where the SR-IOV technology is used so that a physical network device is shared by multiple virtual computers.
First, a PF port, which is a physical network port resource of the SR-IOV, is allocated to either a host OS or a hypervisor (virtual computer monitor) itself, or to a dedicated virtual computer for management use, and device initialization processing and the like is performed using a vendor-provided PF driver.
Then, a VF port, which is a virtual network port resource, is allocated to each virtual computer, and communication processing is performed using a vendor-provided VF driver. At the time of this communication processing, the VF driver reads and writes a control register of the VF port, which is mapped to a memory address of the virtual computer system. In this processing, it is possible to read and write these registers from the CPU on the virtual computer without any intervention on the part of the hypervisor. Because the driver (the CPU, which executes the driver) is able to access a required H/W (hardware) register like this without the intervention of the hypervisor, the sharing of a network device using the SR-IOV technology has an advantage over previous technologies in that network device sharing can be realized with an extremely low load being placed on the CPU.